IBIS Macromodel Task Group Meeting date:15 June 2021 Members (asterisk for those attending): Achronix Semiconductor Hansel Dsilva ANSYS: * Curtis Clark * Wei-hsing Huang Cadence Design Systems: * Ambrish Varma Ken Willis Jared James Google: Zhiping Yang Intel: Michael Mirmak Kinger Cai Alaeddin Aydiner Keysight Technologies: * Fangyi Rao * Radek Biernacki Ming Yan Todd Bermensolo * Rui Yang Luminous Computing David Banas Marvell Steve Parker Micron Technology: * Randy Wolff Justin Butterfield Missouri S&T Chulsoon Hwang Siemens EDA (Mentor): * Arpad Muranyi SiSoft (Mathworks): * Walter Katz Mike LaBonte Teraspeed Labs: * Bob Ross Zuken USA: Lance Wang The meeting was led by Arpad Muranyi. Curtis Clark took the minutes. -------------------------------------------------------------------------------- Opens: - None. ------------- Review of ARs: - Walter to send out BIRD211.2_draft11 with changes discussed in the meeting. - Done. - Walter to send out additional draft(s) after review of Bob's comments. - Done. -------------------------- Call for patent disclosure: - None. ------------------------- Review of Meeting Minutes: Arpad asked for any comments or corrections to the minutes of the June 8th meeting. Randy moved to approve the minutes. Walter seconded the motion. There were no objections. ------------- New Discussion: BIRD211.2: The group reviewed the comments Ambrish had sent in reply to Walter's latest draft of BIRD211, which was submitted to the Open Forum as BIRD211.2. Comment 1: Ambrish asked, if the Init flow is LTI, why do we need both the 'Combined' and 'Upstream' options for Tx_Impulse_Input? Fangyi said Init can optimize the equalization based on the input impulse response it receives. If the value is 'Upstream', then the Tx wants to optimize based on the upstream channel. Arpad said the Tx2 Init gets different input data in the 'Combined' flow vs. the 'Upstream' flow. Curtis said Ambrish's "LTI" assumption is not true if the Init function optimizes based on the input impulse response. Walter gave an example. He said a hardware Tx2 might have an AGC that tries to amplify the input signal to roughly .3V. The AMI model for such a device would specify 'Upstream' so it could optimize based on the upstream response. If the EDA tool were to pass that model a 'Combined' response that included the effects of a -20dB downstream channel, then the model would mistakenly choose a huge gain setting trying to overcome that 20dB downstream channel loss. Ambrish asked if everyone else in attendance was okay with the 4 different values for Tx_Impulse_Input. There were no objections. No changes to the BIRD were recommended. Comment 2: Ambrish said the parameter definition for Tx_Impulse_Input is written with respect to repeaters. He said we need to add language to clarify the situation for the regular single-channel flow. Fangyi suggested adding language stating that for the terminal Tx the upstream cumulative response is the unit impulse response. Ambrish agreed. Curtis asked if Ambrish had found the term "direct Downstream channel" confusing, and he noted that "Downstream" was not in the Redriver sense of the upstream and downstream channels. Ambrish said this text had not caused confusion. Comment 3: Ambrish noted that we had explicitly mentioned the possibility of the EDA tool adding a unit impulse response to the aggressor columns in order to determine the model's equalization's response. In addition, if 'Separate' were used for the terminal Tx then the new 'aggressors + 2' column would also contain a unit impulse response. If there are 2 columns with a unit impulse response, which one should the model modify? Fangyi agreed it was possible to have two columns containing the unit impulse response. Curtis said the model knows which one to modify based on the position of the column. The 'aggressors + 2' column is the newly defined column and it is not modified. A unit impulse response that is found in the legacy aggressor columns is modified by the model. Ambrish said we should add text explicitly stating that if the EDA tool adds a unit impulse response as an aggressor for the purpose of determining the filter response, then it must increase the value of the "aggressors" argument to the AMI_Init function by 1. Comment 4: Ambrish asked if step 6b in the time domain reference flow on page 8 had an issue with double counting the effects of the channel. Fangyi said no, the "Tx filter impulse response" in 6b does not contain the channel. Ambrish asked what it was and how it is determined. Fangyi said it's determined by passing the unit impulse response into the model as an aggressor (as discussed in comment 3 above). Ambrish said it wasn't immediately clear what "Tx filter impulse response" meant when he had read it in 6b, though he acknowledged it was described in an earlier section of the text about passing in the unit impulse response. He suggested qualifying that phrase with "as determined by the EDA tool." Comment 5: Ambrish asked if the second channel should consider the upstream IRs in the Retimer flow. Fangyi said no, the channels are completely decoupled in the Retimer flow. You're resampling in the Retimer and the output passed to the downstream channel is a digital stimulus. Comment 6: Ambrish suggested that the Redriver flow section had too many notes and repetitive statements. Fangyi suggested we might change the order and first introduce the four new flows and then state that the 'Downstream' flow replaces the original Redriver flow. Ambrish agreed, and said we shouldn't talk about a "changed flow" because it causes confusion. Walter said he had no objection to changing the order of this section. Bob said we have to make it clear the existing flow is being replaced. Comment 7: Ambrish said he thought that combining the statistical and time domain flows into one section caused confusion and unnecessarily tied the two together. He said in IBIS 7.0 there was a clear separation between the two. Ambrish also asked what the new term "initialization flow" meant. Arpad asked whether the intent was to contrast it with the statistical flow, where we execute Init and use the results, and time domain flow, where we execute Init but then don't use the results directly and instead proceed to time domain. Walter noted that he had combined the statistical and time domain flows, which share a common initialization flow. However, he had separated the Redriver and Retimer flows, which he thought made them clearer. He said if someone wanted to rewrite the BIRD to turn the 3 distinct flows into 6 distinct flows, to separate statistical and time domain for all three existing flows, he had no objection. Fangyi said his BIRD210 had separated them, and his recollection was that Ambrish had said that wasn't readable either. Arpad noted that there were many changes proposed, and he asked if this would require a new BIRD211.3. If so, we won't be able to vote on it at the next Open Forum meeting. Ambrish said he didn't understand the hurry. Arpad said this BIRD is all that is holding up IBIS 7.1, and we've been working on it for years. Walter moved that ATM recommend that IBIS 7.1 proceed without BIRD211. Fangyi seconded. No one objected. Bob noted that this means we won't proceed with the scheduled Open Forum vote on BIRD211.2. Randy agreed and said he would not send out the email to the Open Forum asking for votes on BIRD211.2. Bob said we would still introduce BIRD211.2 at the next Open Forum meeting. Walter said we could then move to table it there until ATM has had time to prepare a BIRD211.3. - Ambrish: Motion to adjourn. - Fangyi: Second. - Arpad: Thank you all for joining. ------------- Next meeting: 22 June 2021 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives